B 币安 · 全球最大的加密货币交易所币安 注册 → AD OKX OKX · 全球领先的加密货币交易所OKX 注册 → AD
📈 股票分析工具

🧪 股票策略回测器

选择个股和策略,用三星电子、苹果等国内外股票和 ETF 的真实历史行情,将金叉、RSI、MACD 等6种交易规则的收益率、最大回撤、胜率与持有比较。计入股息和证券交易税,行情来自 Yahoo Finance。不构成投资建议。

加载中 数据:Yahoo Finance(经本站服务器中转,可能延迟)
–

策略与成本

以收盘K线判断 · 下一根K线开盘价成交

–

回测结果

总收益率–
年化收益率 (CAGR)–
最大回撤 (MDD)–
胜率–
盈利因子–
交易次数–
平均每笔收益–
持仓时间占比–
最终资产–
–

价格与买卖点

仅收盘K线 · ▲买入 ▼卖出(收益率)

当前状态

–

交易与风险统计

盈利交易平均–
亏损交易平均–
盈亏比(平均盈利 ÷ 平均亏损)–
最佳交易–
最差交易–
最长连续亏损–
平均持仓时间–
无成本时的收益率–
成本吃掉的收益率–
不含股息的收益率(仅价格)–
股息再投资带来的收益率–
年化波动率(策略 / 持有)–
夏普比率(策略 / 持有,无风险利率按 0)–

资产曲线

回撤(相对此前最高资产的跌幅 %)

逐年收益率

年份 策略 买入持有 差值 已平仓交易
–

把当年最后一根收盘K线的资产与上一年最后的资产相比(含股息再投资)。第一年和最后一年可能只包含部分时间。

交易记录

# 买入成交 买入价 卖出成交 卖出价 收益率 持有
–

点击编号,价格图会移动到该笔交易。成交价为实际股价(未做股息调整)加上滑点;收益率已扣除买卖两端的手续费和税费,并把持有期间收到的股息再投资计入。

邻近参数检查(过度拟合检验)

–

用当前设置附近的参数值在同一期间重新回测得到的总收益率。如果只有中间格子特别好而周围很差,这个设置很可能只是碰巧契合了过去。点击格子即可切换到该参数。

把同一策略用于其他股票

股票
选择分组并点击按钮,会以当前的策略、参数和期间把每只股票都测试一遍。

点击股票名称,会在上方打开它的详细结果。列表是如今的大盘股,期间缩水或消失的公司不在其中(幸存者偏差)。

如何看待回测结果

📚 术语看不懂?→ 加密货币·股票术语词典

仅供参考,不构成投资建议。行情由本站服务器从 Yahoo Finance 获取,视交易所不同可能延迟 15–20 分钟以上或中断。 图表: TradingView Lightweight Charts™

这个工具能做什么

如果过去一直照这条交易规则操作,结果会怎样?股票策略回测器用三星电子、SK海力士等韩国大盘股,苹果、英伟达等美国股票,日本股票,以及国内外 ETF 和指数的真实历史行情,运行均线交叉(金叉)、RSI 逆势、布林带反转、MACD 交叉、超级趋势、唐奇安突破6种规则,并把总收益率、年化收益率(CAGR)、最大回撤(MDD)、胜率、盈利因子、夏普比率与同期一直持有(持有)的结果并排比较。收益率用分红再投资的复权收盘价计算,韩国股票还会扣除卖出时的证券交易税,并且只用已收盘的 K线判断信号,不使用未来数据。

计算方法

行情是本站服务器从 Yahoo Finance 获取、供所有访客共用的 K线,只使用已收盘的 K线。日线测试最近1·2·3·5·10·20年和全部数据,周线测试最近2·3·5·10·20年和全部数据,月线测试最近10·20年和全部数据。测试之前的 K线(全部数据时为日线300根、周线150根、月线60根)只用于计算指标、不做交易,上市不久准备 K线不足时会在画面上提示。信号按第 i 根 K线的收盘价,即图表上显示的原始价格(只反映拆股)判断,成交按第 i+1 根 K线的开盘价。买入成交价 = 开盘价 × (1 + 滑点),卖出成交价 = 开盘价 × (1 − 滑点),买入时扣买入手续费,卖出时扣卖出手续费和卖出税。收益按复权收盘价(反映分红·拆股)计算:每根 K线用 比率 = 复权收盘价 ÷ 收盘价 乘以开盘·最高·最低·收盘价得到的 K线来估值,相当于在分红当天把税前金额原样再买入。指数是不含分红的价格指数,因此不计入分红。费用默认值按标的所在市场确定。韩国股票:买入·卖出手续费各0.015%,卖出税(证券交易税)0.20%——2026年 KOSPI 0.05% + 农渔村特别税0.15%,KOSDAQ 0.20%。韩国 ETF 和韩国指数:手续费各0.015%,税0(韩国 ETF 卖出时没有证券交易税)。海外标的:假设手续费为0。滑点均为0.05%,初始资金为1,000万韩元·1万美元·100万日元,每次用全部资金买卖(允许零碎股),只做多。“向上突破”指上一根 A ≤ B 而本根 A > B 的情况。① 均线交叉:快线(默认 EMA 20)向上突破慢线(EMA 60)时买入,向下跌破时卖出。② RSI 逆势:RSI(14,威尔德平滑)向上越过30时买入,从70向下回落时卖出。③ 布林带反转:通道 = 20根简单移动平均 ± 2 × 总体标准差,收盘价向上穿回下轨时买入,收盘价 ≥ 中轨(可选上轨)时卖出,同一根 K线上同时出现时卖出优先。④ MACD 交叉:MACD(EMA 12 − EMA 26)向上突破信号线(MACD 的 EMA 9)时买入(可选仅在 MACD < 0 时),向下跌破时卖出。⑤ 超级趋势(ATR 10,倍数3):方向由下跌转为上涨的 K线上买入,由上涨转为下跌的 K线上卖出。⑥ 突破(唐奇安):收盘价 > 前20根最高价时买入,收盘价 < 前10根最低价时卖出。总收益率 = 最终资产 ÷ 初始资金 − 1(持仓中则按最后收盘价估值),CAGR = (最终资产 ÷ 初始资金)^(1 ÷ 年数) − 1(不足3个月不显示),MDD = 资产从此前最高点下跌的最大比例,胜率 = 盈利交易 ÷ 已结束交易,盈利因子 = 盈利交易收益率之和 ÷ 亏损交易亏损率之和,市场暴露 = 持股的 K线数 ÷ 全部 K线数,年化波动率 = 每根 K线资产变化率的标准差 × √(每年 K线数),夏普比率 = K线收益率平均值 × 每年 K线数 ÷ 年化波动率(假设无风险收益率为0),每年 K线数 = 测试 K线数 ÷ 年数。持有是在测试第一根 K线开盘价以相同的买入费用·滑点买入并持有到最后收盘价的情况,年度收益率是把当年最后一根 K线的资产与上一年最后的资产比较的值。开盘时每5分钟、收盘时每1小时重新获取,只有最后一根已收盘 K线变化时才重新计算。美元·日元标的的韩元金额是乘以当前汇率(美元兑韩元、日元兑韩元)的参考值。

各画面区块的读法

标的·K线周期·期间栏

在搜索框中输入三星电子、SK海力士或英伟达、苹果等名称或代码,或用正下方的常用标的按钮(三星电子、SK海力士、KOSPI200 ETF、KOSPI、标普500 ETF、纳斯达克100 ETF、英伟达、苹果、丰田)打开。K线周期有日线、周线、月线,期间为日线1·2·3·5·10·20年和全部数据,周线2·3·5·10·20年和全部数据,月线10·20年和全部数据。旁边显示实际测试区间和 K线数量(上市时间短时显示从何时开始),下方一行附有交易所、货币、类型、盘中·收盘以及基准时间(该交易所城市的时间)。再下面会显示因数据异常截掉前段的提示、因没有复权收盘价而只用价格计算的提示,以及指数无法直接买入的提示和类似的 ETF。

策略与条件——规则·参数·费用

从六种策略中选一种,只会显示该策略的参数栏。修改数值后稍等即重新计算,超出范围时会把之前的结果变淡保留并写出错误。费用栏按标的所在市场自动填入。韩国股票为手续费各0.015%和卖出税0.20%,韩国 ETF·指数税为0,美国等海外标的假设手续费为0;滑点均为0.05%,初始资金为1,000万韩元·1万美元·100万日元。只要手动改过任何一栏,就会一直使用该值,“恢复默认”会把参数和费用一起还原。下方的框用文字解释当前规则。信号按已收盘 K线收盘价判断、在下一根 K线开盘价成交,每次用全部资金买卖,只做多。

  • 均线交叉:快线(EMA 20)向上突破慢线(EMA 60)时买入,向下跌破时卖出
  • RSI 逆势:RSI(14) 向上越过30时买入,从70向下回落时卖出
  • 布林带反转:收盘价回到20根 ± 2倍通道下轨之上时买入,达到中轨(或上轨)以上时卖出
  • MACD 交叉:MACD(12, 26)向上突破信号线(9) 时买入,向下跌破时卖出
  • 超级趋势:ATR 10、倍数3的方向转为上涨时买入,转为下跌时卖出
  • 突破(唐奇安):收盘价超过前20根最高价时买入,低于前10根最低价时卖出

回测结果——九张数字卡片

标题显示标的、K线周期、策略和参数,旁边附有计算时间。每张卡片下方一行都同时写出同期一直持有(持有)的数值,可以立即比较策略是否优于持有。持有是在测试第一根 K线开盘价以相同买入费用买入并持有到最后收盘价的情况。持有中的仓位按最后一根已收盘 K线收盘价估值,不使用进行中的 K线(盘中的今天、本周、本月),所以盘中价格变动时卡片也不变。已结束交易少于10笔时,摘要文字会附上胜率·盈利因子受偶然影响很大的警告。美元·日元标的的最终资产附有按当前汇率换算的韩元参考值。

  • 总收益率:最终资产 ÷ 初始资金 − 1
  • 年化收益率(CAGR):不足3个月不显示,不足1年会警告
  • 最大回撤(MDD):资产从此前最高点减少的最大比例
  • 胜率:已结束交易中盈利的比例及几胜几负
  • 盈利因子:盈利交易收益率之和 ÷ 亏损交易亏损率之和
  • 交易次数:已结束交易数及年均次数,持仓中的1笔另计
  • 平均交易收益:每笔交易的平均值及最佳·最差
  • 市场暴露:持股 K线所占的比重
  • 最终资产:初始资金最后变成了多少

价格与交易时点图

在只用已收盘 K线绘制的 K线图上,叠加策略所用的线(移动平均、布林带、唐奇安通道、超级趋势),在买入成交的 K线上标 ▲,卖出成交的 K线上标 ▼ 及该笔交易的收益率。交易较多时会去掉文字只保留箭头。如果最后一根已收盘 K线出现了新信号,该 K线上会标出“买入信号”“卖出信号”圆点,由于成交在下一根 K线开盘价,交易记录中暂时还没有。选择 RSI·MACD 策略时,下方会打开副图窗口,显示 RSI 线和参考线,或 MACD 线、信号线和柱状图。所有图表的横向范围联动,用“对数刻度”可以按比例查看长期上涨标的的过去。韩国个股有每日 ±30% 的涨跌幅限制,美国股票没有,所以第二天开盘价可能离看到信号时的收盘价更远。

当前状态与交易·风险统计

“当前状态”写明如果至今一直机械地遵循此规则,现在是持股(持有中)还是持币等待(现金等待)。持有中时显示买入日期和成交价,以及按最后收盘价估值的收益率;如果最后一根已收盘 K线有信号,会提示将在下一个交易日(周线为下周,月线为下月)开盘价成交。标题旁写有何时重新计算。美国日线在纽约下午4点,即韩国时间早上6点(夏令时为5点)收盘,所以新信号会在韩国早上出现。交易·风险统计表把平均盈利·亏损交易、盈亏比、最佳·最差交易、最大连续亏损、平均持有期、费用和分红改变的收益率、年化波动率和夏普比率(假设无风险为0)按策略·持有并列写出。

资产曲线·回撤与年度收益率

资产曲线画出初始资金按策略会如何增减,并与持有一同显示(含分红再投资)。持币等待的区间,策略曲线保持平直。下方的回撤图同时显示策略和持有相对此前最高资产下跌了百分之几,因此即使收益相近,也能比较哪一方跌得更深、更久。“对数刻度”按比例显示长期间前段的走势。年度表写出把当年最后一根已收盘 K线的资产与上一年最后资产比较得到的策略·持有收益率、两者之差(百分点)以及当年结束的交易数,首年和末年若只有部分期间,会附上“部分”及实际区间。标题旁写有策略高于持有的年数。

交易记录

把已结束的交易逐行列出,有持仓中的交易时另以“持有中”列出。买入·卖出成交日期为该交易所的日期,成交价是实际股价(分红调整前)开盘价加减滑点后的值。收益率扣除了买卖时的手续费和卖出税,并把持有期间收到的分红再投资,因此可能与用两个成交价直接计算的值略有不同。持有期以 K线周期为单位(交易日·周·月)书写。点击编号,价格图会移动到该交易区间,可以确认买卖标记。美国标的的成交价和收益率都以美元为准,如果用韩元投资,还要另外考虑期间汇率变化对结果的影响。

检验结果是否偶然的三张表

“邻近值检验”是把两个核心参数换成邻近值,对同一期间最多以5×5重新运行得到的总收益率。期间型为0.5·0.75·1·1.5·2倍,RSI 阈值为 ±5·±10,倍数为 ±0.5·±1,点击格子即换成该值。如果只有中间格子好而周围差,可能是过去偶然契合的数字。“6种策略比较”把六种策略各以默认值在同样的标的、期间和费用下运行,并列到 CAGR ÷ MDD 为止。“对其他标的应用同一策略”把当前设置原样应用到所选组合(韩国·美国·日本大盘股、ETF、行业·板块 ETF、指数)中最多80个标的,每次获取3个,结果一到就填入,可按列标题排序。列表是当前的大盘股,因此存在幸存者偏差。

使用顺序

① 选择标的、K线周期和期间,先看“持有”的数值。② 选择策略,把总收益率·MDD 与持有比较,并在资产曲线和年度表中确认在哪些时期赚和亏。③ 查看费用侵蚀的收益率,如果是韩国股票,再用跟踪同一指数的韩国 ETF 跑一遍。④ 用邻近值检验、6种策略比较和其他标的应用来判断是否偶然。计算只在新 K线收盘时变化,不必长时间常开;但若开着,盘中每5分钟、收盘后每1小时重新获取行情,在最后一根已收盘 K线变化时更新结果和当前状态。结合实时图表或指标信号扫描器来看,就能感觉到规则目前处于什么位置。过去的结果不保证未来收益。

使用须知

常见问题

分红是如何反映的?

收益率用 Yahoo Finance 的复权收盘价(反映分红·拆股)计算。相当于把持有期间收到的分红,按当天的税前金额原样再投资。交易信号和成交价显示用图表上的原始价格。在交易·风险统计中的“分红再投资带来的收益率”里,可以看到分红让结果改变了多少。未扣除分红所得税,指数是价格指数,没有分红。

证券交易税和手续费默认值的依据是什么?

韩国股票的卖出税0.20%是2026年的税率(KOSPI 证券交易税0.05% + 农渔村特别税0.15%,KOSDAQ 0.20%)。税率每年不同(2025年为0.15%),但整个测试期间都使用当前这一个税率。韩国 ETF 卖出时不征证券交易税,因此为0。手续费0.015%只是韩国网上交易的常见水平,各券商不同;海外标的假设手续费为0。通过韩国券商买海外股票会产生交易手续费和换汇成本,请填入实际数值试试。

是不是偷偷用了未来数据?

不是。信号只用截至已收盘 K线收盘价的数据计算,成交按下一根 K线的开盘价。不使用进行中的 K线(盘中的今天、本周、本月)。不过在前一天收盘价与第二天开盘价相差很大的日子(跳空),看到信号的价格与成交价可能差别很大;交易稀少的标的也可能无法在开盘价成交想要的数量。

“全部数据”从什么时候开始?较早的区间有什么不同?

从 Yahoo Finance 上最早的 K线开始。以日线为准,标普500从1927年、可口可乐从1962年、三星电子从2000年开始有数据,月线大约从1985年才有,更长的历史请用日线·周线查看。最初的日线300根(周线150根、月线60根)只用于准备指标。如果出现收盘价在一根 K线之间相差8倍以上的异常值(疑似 Yahoo 数据错误),只使用其后的 K线并在画面上提示。像标普500 1962年以前这样较早的 K线只有收盘价,开盘·最高·最低价与收盘价相同,所以该区间的“下一根开盘价成交”实际上就是第二天收盘价成交。还请考虑到:K线周期越长,同样参数的均线会慢得多。

仅供参考,不构成投资建议。行情由本站服务器从 Yahoo Finance 获取,视交易所可能延迟15~20分钟以上或中断。

📚 推荐阅读
✂️复权价格与拆股:分红和拆股如何改变图表→ 🧪回测结果怎么看:比收益率更该先看的指标与常见陷阱→ 🧪股票模拟交易用法:让交易时间、延迟行情、佣金和交易税贴近真实→ 🧾买卖越频繁,流失的钱越多→
← 全部股票分析工具